package com.fx.zmlzml.algorithm.ga;

import com.fx.zmlzml.domain.dto.PcDTO;

/**
 * @param pc      电脑配置对象
 * @param fitness 适应度值，表示配置的优劣程度
 */
public record Individual(PcDTO pc, double fitness) {

    /**
     * 构造一个新的个体对象
     *
     * @param pc      电脑配置对象
     * @param fitness 配置的适应度值
     */
    public Individual {
    }

    /**
     * 获取个体的电脑配置对象
     *
     * @return 电脑配置对象
     */
    @Override
    public PcDTO pc() {
        return pc;
    }

    /**
     * 获取个体的适应度值
     *
     * @return 适应度值，范围在0-1之间，值越高表示配置越优
     */
    @Override
    public double fitness() {
        return fitness;
    }


}
